<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }

        body {
            background-color: #e1e1e1;
        }

        ul {
            background-color: #fff;
            border-radius: 5px;
            width: 1000px;
            margin: 20px auto;
        }

        li {
            height: 60px;
            display: flex;
            align-items: center;
            border-bottom: 1px solid #dedede;
            position: relative;
        }

        li:hover {
            background-color: #f6f6f6;
        }

        li img {
            width: 35px;
            height: 35px;
            display: block;
            margin: 0 10px;
            cursor: pointer;
        }

        li p {
            color: #333;
        }

        li p>span:first-child {
            color: #9e78c0;
            font-size: 14px;
        }

        li p>span:last-child {
            font-size: 10px;
            color: #b4b4b4;
        }

        li>span {
            display: block;
            width: 40px;
            height: 20px;
            line-height: 20px;
            text-align: center;
            border-radius: 5px;
            font-size: 12px;
            margin: 0 10px;
            background-color: #e5e5e5;
            color: #999;
        }

        li>span.top {
            background: #80bd01;
            color: #fff;
            font-size: 12px;
        }

        h3 {
            font-weight: 400;
        }

        h3>a {
            color: #333;
            font-size: 16px;
            text-decoration: none;
        }

        h3>a:hover {
            text-decoration: underline;
        }

        time {
            cursor: pointer;
            color: #778087;
            font-size: 11px;
            position: absolute;
            right: 10px;
            top: 20px
        }
    </style>
</head>

<body>
    <ul>
        <!--  <li>
            <img src="" alt="">
            <p><span><span></span></span></p>
            <span></span>
            <h3><a href=""></a></h3>
        </li> -->
    </ul>
    <!-- 
        渲染： 将数据渲染在页面上  将发送请求获取的数据渲染在页面上
        1. 先写静态页面（自己先随意手写数据）
        2.获取数据
        3.根据数据重新创建标签 添加在页面上
     -->
    <script>
        // 1. 分析数据在什么情况下获取
        //(页面加载完成后直接获取数据)
        var xhr = new XMLHttpRequest();
        xhr.onreadystatechange = function () {
            // xhr.responseText属性用来获取请求的响应数据
            //console.log(xhr.responseText)
            // 一定要在状态值等于4表示请求结束了之后再获取responseText的值
            if (xhr.readyState === 4) {
                // console.log(xhr.responseText); //得到json字符串
                // 将json字符串转换成json对象后 获取这个对象内的data属性的值
                var res = JSON.parse(xhr.responseText).data;
                // console.log(res); // 想要的数据：[{},{},{},]
                var str = '';
                console.log(res[0]);
                // 根据数据的数组创建标签 数组的长度就是创建标签的数量
                for (var i = 0; i < res.length; i++) {
                    // console.log(res[i]); // 每一个对象
                    // 每次循环都创建一个列表 将本次循环获取的res数组中的对象的数据拼接在这个列表标签中
                    // str += `<li>
                    //     <img src="${res[i].author.avatar_url}" alt="">
                    //     <p><span>${res[i].reply_count}</span> / <span>${res[i].visit_count}</span></p>
                    //      <span></span>
                    //     <h3><a href="">${res[i].title}</a></h3>
                    // </li>`;

                    // 将字符串模板的拼接分为3部分
                    str += `<li>
                        <img src="${res[i].author.avatar_url}" alt="">
                        <p><span>${res[i].reply_count}</span> / <span>${res[i].visit_count}</span></p>
                    `;
                    // 中间部分的内容需要进行数据判断处理
                    // str+=`<span></span>`

                    if (res[i].top) {
                        str += `<span class='top'>置顶</span>`;
                    } else if (res[i].good) {
                        str += `<span class='top'>精华</span>`;
                    } else if (res[i].tab == 'share') {
                        str += `<span>分享</span>`;
                    } else {
                        str += `<span>问答</span>`;
                    }
                    str += `<h3><a href="">${res[i].title}</a></h3>
                    <time>${time(res[i].last_reply_at)}</time>
                    </li>`
                }
                var ul = document.querySelector('ul');
                ul.innerHTML = str;

            }
        }

        xhr.open('get', "https://cnodejs.org/api/v1/topics")
        xhr.send();

        function time(lastTime) {
            //得到的时间
            var time1 = new Date().getTime(); // 获取当前时间的时间
            var time2 = new Date(lastTime).getTime();// 获取参数传递的时间的时间戳
            var cha = time1 - time2; // 得到时间戳的差
            var y = parseInt(cha / 1000 / 60 / 60 / 24 / 30 / 12);
            var m = parseInt(cha / 1000 / 60 / 60 / 24 / 30 % 12);
            var d = parseInt(cha / 1000 / 60 / 60 / 24 % 30);
            var h = parseInt(cha / 1000 / 60 / 60 % 24);
            var mi = parseInt(cha / 1000 / 60 % 60);

            if (y) {
                return y + "年前"
            } else if (m) {
                return m + "月前"
            } else if (d) {
                return d + "天前"
            } else if (h) {
                return h + "小时前"
            } else if (mi) {
                return mi + "分钟前"
            } else {
                return "刚刚";
            }

        }


    </script>
</body>

</html>